home *** CD-ROM | disk | FTP | other *** search
- Subject: exmh FAQ
- Newsgroups: comp.lang.tcl,comp.mail.mh
- From: welch@parc.xerox.com (Brent Welch)
- Date: 14 Jun 1994 17:45:11 GMT
-
- Here are just a few Frequently Asked Questions about Exmh.
- This file is distributed along with exmh, but you may not
- have seen it or been responsible for the installation.
-
- If you have other questions that you think might be good candidates
- for the FAQ, send them along to exmhbugs@parc.xerox.com - Thanks.
-
- Brent Welch
-
- Frequently Asked Questions about EXMH
-
- 1. Is it possible to get the cursor keys working in the editor?
- 1b. Can I paste with the middle mouse button?
- 2. How do I display ISO-8859 fonts so that my special characters show up?
- 2b. How do I insert special 8-bit characters (latin-1)
- 3. I can't get background incorporate to work. What am I doing wrong?
- 4. How do I start my X server so it does Xauthority right?
- 5. Where do I find Faces and Metamail packages?
- 6. How do you get an X-Face: line into your outgoing mail messages?
- 6b. How do you display an X-Face: header line?
- 7. Can I use EXMH as a news reader?
- 8. How do I change those default wheat-colors for the widgets in EXMH?
- 9. What's the difference between presort and multidrop inc-styles?
-
- -------------------------------------------------------------------------
-
- 1. Is it possible to get the cursor keys working in the editor?
-
- Use the Bind dialog to set additional keystroke bindings for various
- editting functions. For cursor keys, you first need to figure out
- what their X Keysyms are. I use the "xev" program for this. Assuming
- the keysyms are Up, Down, Left, and Right, then you'd add
- <Key-Up> to the up1line function, etc. The Bind dialog lets you
- have multiple sequences for a function - just space separate them.
- You may have to drag the entry widget with the middle mouse button
- to make room to add stuff to the end.
-
- 1b. Can I paste with the middle mouse button?
-
- Use the Bind dialog to do two things. First, change the scrolling
- binding away from Middle button. This binding lets you "drag" a text
- window around without having to hit the scrollbar. So, change that
- to right button or disable it altogether because the default is that
- the middle button is used for this kind of scrolling. Second, change
- the selpaste binding to <Button-2> so you can paste with middle click.
-
- 2. How do I display ISO-8859 fonts so that my special characters show up?
-
- Put an Xresource specification into your ~/.exmh-defaults file:
- *Text*font: -*-lucida-*-*-*-*-*-*-*-*-*-*-iso8859-*
- *Ftoc*Text*font: -*-lucida-*-*-*-*-10-*-*-*-*-*-iso8859-*
-
- 2b. How do I insert special (8-bit) characters?
-
- The seditBind.tcl file has one binding already for <Alt-KeyPress>
- that will work on some keyboards (DEC and IBM) european ones.
- If you have a standard keyboard, I'd add the following lines to
- your user.tcl hook file. (Use Alt or Meta, whichever you prefer).
- You can put these lines into User_Init in your user.tcl
-
- bind Entry <Meta-a> {%W insert insert \xe4}
- bind Entry <Meta-A> {%W insert insert \xc4}
- bind Entry <Meta-o> {%W insert insert \xf6}
- bind Entry <Meta-O> {%W insert insert \xd6}
- bind Entry <Meta-u> {%W insert insert \xfc}
- bind Entry <Meta-U> {%W insert insert \xdc}
- bind Entry <Meta-s> {%W insert insert \xdf}
-
- bind Text <Meta-a> {SeditInsert %W \xe4}
- bind Text <Meta-A> {SeditInsert %W \xc4}
- bind Text <Meta-o> {SeditInsert %W \xf6}
- bind Text <Meta-O> {SeditInsert %W \xd6}
- bind Text <Meta-u> {SeditInsert %W \xfc}
- bind Text <Meta-U> {SeditInsert %W \xdc}
- bind Text <Meta-s> {SeditInsert %W \xdf}
-
- 3. I can't get background incorporate to work. What am I doing wrong?
-
- The most likely cause is that the TK send facility does not work for you
- because of Xauthority issues. "send" lets two TCL interpreters issue
- commands to each other, and it uses X properties. Begining with
- TK 3.3, this also honors the Xauthority protocol, unless you compile
- TK with -DNO_SECURITY. You can test this by running "wish" and
- trying out the following command:
- send exmh {Exmh_Status "Hello, world!"}
- If this fails, you have two options. First, disable the background process
- so that all periodic activity is done in the front-end. Do this via
- the preferences entry for Background Processing. Or, better, learn how
- to start your X server so that it does Xauthority right.
-
- Note that even if you set up Xauthority right, you need to
- xhost -
- to ensure that your xhost access list is empty.
-
- Another cause that might disable inc completely is lack of the MAILDROP
- environment variable. This should be set to the name of the spool
- file that contains incoming mail (unless you are using POP). The
- latest Exmh will warn you about this and try to choose a default
- value, but to be safe you should set this up properly.
-
- 4. How do I start my X server so it does Xauthority right?
-
- The general picture of whats going on is this:
- 1) some program generates a magic cookie (arbitrary string) and writes
- this to a file.
- 2) The name of this file is passed to the X server
- 3) The X server writes an entry for the DISPLAY into your ~/.Xauthority
- file.
- 4) Xlib reads ~/.Xauthority when you create a window, and passes the
- cookie value back to the X server.
-
- The specific details vary from server to server.
-
- For SunOS and openwin, you should just be able to start up with:
-
- openwin -auth magic-cookie
-
- Another person had luck with:
-
- BTW, the Xauthority stuff seems to work now. All I did was declare
- and export XAUTHORITY from my .profile. I had't done it before since
- the value ($HOME/.Xauthority) is supposed to be the default. We're
- using XDM.
-
-
- In more detail, here is what happens under the covers...
-
- if [ ! \( -d $HOME -a -w $HOME \) ]; then
- echo "Warning: Can't write X authority file" 1>&2 ;
- auth_args=""
- else
- authfname=$HOME/.xnews.`uname -n`$DISPLAY
- ${OPENWINHOME}/lib/mkcookie $authfname -auth magic-cookie
- auth_args="-auth $authfname"
- fi ;
- ${OPENWINHOME}/bin/xnews $auth_args $server_args $xnews_config_args ;;
-
- There is a more lengthy example given in the misc/Xauthority file
- that comes with the exmh distribution.
-
- 5. Where do I find Faces and Metamail packages?
-
- There are pointers to these packages at the end of the man page.
-
- 6. How do you get an X-Face: line into your outgoing mail messages?
-
- The compface program that is part of the faces package will generate
- the X-Face hex string for you. Check its man page for details.
- If you have a 48x48 X bitmap image in X bitmap .xbm format,
- then you can tweak a little program that comes with exmh,
- misc/myface.c, that re-writes the
- bitmap into the format expected by compface.
-
- Then, MH understands templates for new mail, replies, and forwarded
- messages. These are the ~/Mail/components, ~/Mail/replcomps, and
- ~/Mail/forwcomps files, respectively. Here are some examples. The
- components file is straight-forward. The replcomps file requires
- some quoting of % and \ in X-Face hex string, plus some complete
- magic to generate the in-lined message you are replying to. See
- the repl man page for the details.
-
- ---------cut here for sample components file-----------
- To:
- Subject:
- Fcc: outbox
- Cc:
- X-Face: "HxE|?EnC9fVMV8f70H83&{fgLE.|FZ^$>@Q(yb#N,Eh~N]e&]=>r5~UnRml1:4EglY{9B+
- :'wJq$@c_C!l8@<$t,{YUr4K,QJGHSvS~U]H`<+L*x?eGzSk>XH\W:AK\j?@?c1o<k;j'Ei/UL)!*0
- ILwSR)J\bc)gjz!rrGQ2#i*f:M:ydhK}jp4dWQW?;0{,#iWrCV$4~%e/3)$1/D
-
-
- ----------------------------------
- Brent Welch Xerox-PARC
- ------------end sample components file-----------------
-
- ---------cut here for replcomps------------------------
- %(lit)%(formataddr %<{reply-to}%|%<{from}%|%{sender}%>%>)\
- %<(nonnull)%(void(width))%(putaddr To: )\n%>\
- %(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\
- %<(nonnull)%(void(width))%(putaddr cc: )\n%>\
- %<{subject}Subject: Re: %{subject}\n%>\
- %<{date}In-reply-to: %<(mbox{from})%(mbox{from})%|%(friendly{from})%>\
- 's message of \
- %<(nodate{date})%{date}%|%(tws{date})%>.%<{message-id}
- %{message-id}%>\n%>\
- X-Face: "HxE|?EnC9fVMV8f70H83&{fgLE.|FZ^$>@Q(yb#N,Eh~N]e&]=>r5~UnRml1:4EglY{9B+
- :'wJq$@c_C!l8@<$t,{YUr4K,QJGHSvS~U]H`<+L*x?eGzSk>XH\\W:AK\\j?@?c1o<k;j'Ei/UL)!*0
- ILwSR)J\\bc)gjz!rrGQ2#i*f:M:ydhK}jp4dWQW?;0{,#iWrCV$4~%%e/3)$1/D
- Fcc: outbox\n
-
- --------------end sample replcomps file----------------
-
- 6b. How do you display an X-Face: header line?
-
- Under the Faces preferences, set the X-Face pipeline to be similar to:
- uncompface | ikon2xbm
- (You might need absolute pathnames if these programs are not
- otherwise on your PATH).
- uncompface comes with the faces package.
- ikon2xbm comes with exmh as misc/ikon2xbm.c
- Just compile it with
- cc -o ikon2xbm ikon2xbm.c
-
- Note, this is slower than I'd like, plus the results are not saved
- anywhere. The intended use of the X-Face header was that the mail
- agent would update the facesaver database in the background using it.
-
- 7. Can I use EXMH as a news reader?
-
- Well, it actually works ok, but there are various things that would
- make it better at reading news. To get started, just make a symbolic
- link from your ~/Mail directory into the news spool file system.
- This requires access (e.g., NFS) to the news spool file system, of course.
- You can do it for a single newsgroup, i.e. clari.feature.dilbert.
- My symlink looks like:
- Mail/dilbert -> /net/news/news-1/news/spool/clari/feature/dilbert
- Or, you can link into the interior of the news hierarchy.
- You might run into a problem from the MH folders command that
- limits it to about 300 folders. Change the NFOLDERS constant in MH
- src/h/mh.h from 300 to 30,000 and you shouldn't have any more trouble ;-)
-
- 8. How do I change those default wheat-colors for the widgets in EXMH?
-
- (See also exmh.COLORS for more color schemes...)
- Here is a set of Xresources that I use to get a grey-family for
- my TK-based applications. You can put this into your
- ~/.exmh-defaults, or into your ~/.Xdefaults. This works ok
- on a monochrome screen, although buttons do not highlight
- when you pass the mouse over them.
-
- *activeBackground: #efefef
- *activeForeground: black
- *selector: black
- *background: #dfdfdf
- *foreground: black
- *selectBackground: #bfdfff
- *Scale.activeForeground: #efefef
- *Scale.sliderForeground: #dfdfdf
- *Scrollbar.foreground: #dfdfdf
- *Scrollbar.activeForeground: #efefef
- *Button.disabledForeground: #7f7f7f
- *Checkbutton.disabledForeground: #7f7f7f
- *Radiobutton.disabledForeground: #7f7f7f
- *Menu.disabledForeground: #7f7f7f
-
- 9. What's the difference between presort and multidrop inc-styles?
-
- The main difference between presort and multidrop is: with
- presort, you don't need a ~/.forward that pipes your messages to slocal
- because exmh will run slocal for you. The second difference is that
- the presort scheme assumes that messages are completly routed into
- folders, either with the + syntax (slocal patch required) or by
- piping messages through rcvstore in the .maildelivery specification.
- The multidrop scheme assumes you append messages to dropbox files
- with the '>' or 'file' command in your .maildelivery file.
-
- Thus your options are:
- 1. use slocal in your .forward,
- pipe your messages to rcvstore in .maildelivery,
- and have exmh do background flist updates.
- 2. use slocal in your .forward,
- append messages to files in .maildelivery,
- specify files to folders mapping in .xmhcheck,
- and have exmh do background multidrop.
- 3. empty .forward,
- pipe your messages to rcvstore in your .maildelivery,
- and have exmh do background presort.
- 4. Note that the following DOES NOT WORK
- empty .forward,
- append messages to files in .maildelivery,
- specify file to folder mapping in .xmhcheck,
- and have exmh do background presort.
- WON'T WORK
-
-
- --
- ----------------------------------
- Brent Welch Xerox-PARC
-
-